home *** CD-ROM | disk | FTP | other *** search
Java Source | 1997-04-20 | 1.6 KB | 57 lines |
- public synchronized String[] getPassengerList() throws IOException {
- String[] reservations = null;
- PassengerRecord record;
-
- FileHeader header = readHeader();
-
- reservations = new String[header.numPassengers];
-
- for (int i = 0; i < header.numPassengers; i++) {
- reservations[i] = readNextRecord().getName();
- }
- return reservations;
- }
-
- public synchronized int getSeat(String passenger)
- throws IOException, SeatNotFoundException
- {
- boolean found = false;
- PassengerRecord record;
-
- int seat = 0; // satisfy the compiler
- FileHeader header = readHeader();
-
- for (int i = 0; i < header.numPassengers && !found; i++) {
- record = readNextRecord();
- if (passenger.equals(record.getName())) {
- found = true;
- seat = record.getSeat();
- }
- }
-
- if (!found)
- throw new SeatNotFoundException();
-
- return seat;
- }
-
- public synchronized void reservePassenger(String passenger, int seat)
- throws IOException, SeatTakenException
- {
- // Make sure the seat is still available
- boolean taken = true; // prove it false
- int[] open = getOpenSeats();
- for (int i = 0; i < open.length && taken; i++) {
- if (seat == open[i])
- taken = false;
- }
-
- if (taken)
- throw new SeatTakenException();
-
- PassengerRecord record = new PassengerRecord();
- record.setName(passenger);
- record.setSeat(seat);
- writeRecord(record);
- }
-